/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.cms.dao;

import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.cms.entity.Task;
import com.thinkgem.jeesite.modules.cms.entity.taskDaydata;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * 子任务管理DAO接口
 * @author leo
 * @version 2017-02-14
 */
@MyBatisDao
public abstract interface TaskDao extends CrudDao<Task> {
		
	public abstract List<Task> getYeardata(@Param("userid") String paramString, @Param("year") int paramInt);
		  
	public abstract List<taskDaydata> getMonthdata(@Param("userid") String paramString1, @Param("year") int paramInt, @Param("month") String paramString2);
	  
	public abstract List<Task> getDaydata(@Param("userid") String paramString1, @Param("pdate") String paramString2);
	  
	public abstract Task getByKeyfield(@Param("keyfield") String paramString);
	  
	public abstract List<Task> getNoEnd();
	  
	public abstract Task getByProductid(@Param("productid") String paramString);
	  
	public abstract Task getStartProductid(@Param("productid") String paramString);
	  
	public abstract int clear(@Param("end") String paramString);
	  
	public abstract int updateA(String paramString1, String paramString2);
	public abstract int updateB(String paramString1, String paramString2);
	public abstract int updateC(String paramString1, String paramString2);
	public abstract int updateD(String paramString1, String paramString2);
	public abstract int updateE(String paramString1, String paramString2);
	public abstract int updateF(String paramString1, String paramString2);
	public abstract int updateG(String paramString1, String paramString2);
	public abstract int updateH(String paramString1, String paramString2);
	  
	public abstract int updateIsStart(@Param("keyfield") String paramString1, @Param("isstart") int paramInt, @Param("userid") String paramString2);
	  
	public abstract int updateNoOk(@Param("productid") String paramString);
	  
	public abstract int updateOk(@Param("productid") String paramString);
	  
	public abstract int updateIsTaskComplete(@Param("keyfield") String paramString1, @Param("istaskcomplete") int paramInt, @Param("userid") String paramString2);
	  
	public abstract int updateIsPartComplete(@Param("keyfield") String paramString);
	  
	public abstract int updateIsTaskQcComplete(@Param("keyfield") String paramString, @Param("istaskcomplete") int paramInt);
}